Skip to content

[3.15] gh-47005: fix do_open() to let regular headers override unredirected … (GH-146506)#153377

Merged
orsenthil merged 1 commit into
python:3.15from
miss-islington:backport-6d38668-3.15
Jul 9, 2026
Merged

[3.15] gh-47005: fix do_open() to let regular headers override unredirected … (GH-146506)#153377
orsenthil merged 1 commit into
python:3.15from
miss-islington:backport-6d38668-3.15

Conversation

@miss-islington

Copy link
Copy Markdown
Contributor

AbstractHTTPHandler.do_open() was building the request header dict by
starting with unredirected_hdrs and only inserting regular headers that
were not already present, giving unredirected headers priority. This
contradicts get_header() and header_items(), both of which give regular
headers the higher priority.

Fix by unconditionally updating with req.headers so that a header set
via add_header() always overrides one set via add_unredirected_header().


(cherry picked from commit 6d38668)

Co-authored-by: CHINMAY 89741289+Das-Chinmay@users.noreply.github.com
Co-authored-by: Senthil Kumaran senthil@python.org

…ected … (pythonGH-146506)

* pythongh-47005: fix do_open() to let regular headers override unredirected headers

AbstractHTTPHandler.do_open() was building the request header dict by
starting with unredirected_hdrs and only inserting regular headers that
were not already present, giving unredirected headers priority.  This
contradicts get_header() and header_items(), both of which give regular
headers the higher priority.

Fix by unconditionally updating with req.headers so that a header set
via add_header() always overrides one set via add_unredirected_header().

---------
(cherry picked from commit 6d386684ad69f42cb57c72fe0e0ffcec82ec7e12)

Co-authored-by: CHINMAY <89741289+Das-Chinmay@users.noreply.github.com>
Co-authored-by: Senthil Kumaran <senthil@python.org>
@orsenthil orsenthil enabled auto-merge (squash) July 9, 2026 03:44
@orsenthil orsenthil merged commit 9fb25cb into python:3.15 Jul 9, 2026
58 of 59 checks passed
@miss-islington miss-islington deleted the backport-6d38668-3.15 branch July 9, 2026 04:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants